using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("FatigueSpellController")]
	public class FatigueSpellController : SpellController
	{
		public static float FATIGUE_DRAW_ANIM_TIME => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "FatigueSpellController", "FATIGUE_DRAW_ANIM_TIME");

		public static float FATIGUE_DRAW_SCALE_TIME => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "FatigueSpellController", "FATIGUE_DRAW_SCALE_TIME");

		public static Vector3 FATIGUE_ACTOR_START_SCALE => MonoClass.smethod_6<Vector3>(TritonHs.MainAssemblyPath, "", "FatigueSpellController", "FATIGUE_ACTOR_START_SCALE");

		public static Vector3 FATIGUE_ACTOR_FINAL_SCALE => MonoClass.smethod_6<Vector3>(TritonHs.MainAssemblyPath, "", "FatigueSpellController", "FATIGUE_ACTOR_FINAL_SCALE");

		public static Vector3 FATIGUE_ACTOR_INITIAL_LOCAL_ROTATION => MonoClass.smethod_6<Vector3>(TritonHs.MainAssemblyPath, "", "FatigueSpellController", "FATIGUE_ACTOR_INITIAL_LOCAL_ROTATION");

		public static Vector3 FATIGUE_ACTOR_FINAL_LOCAL_ROTATION => MonoClass.smethod_6<Vector3>(TritonHs.MainAssemblyPath, "", "FatigueSpellController", "FATIGUE_ACTOR_FINAL_LOCAL_ROTATION");

		public static float FATIGUE_HOLD_TIME => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "FatigueSpellController", "FATIGUE_HOLD_TIME");

		public Network.HistTagChange m_fatigueTagChange => method_3<Network.HistTagChange>("m_fatigueTagChange");

		public Actor m_fatigueActor => method_3<Actor>("m_fatigueActor");

		public FatigueSpellController(IntPtr address, string className)
			: base(address, className)
		{
		}

		public FatigueSpellController(IntPtr address)
			: this(address, "FatigueSpellController")
		{
		}

		public new bool AddPowerSourceAndTargets(PowerTaskList taskList)
		{
			return method_11<bool>("AddPowerSourceAndTargets", new object[1] { taskList });
		}

		public new void OnProcessTaskList()
		{
			method_8("OnProcessTaskList");
		}

		public void OnFatigueActorLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnFatigueActorLoaded", assetRef, go, callbackData);
		}

		public void DoFinishFatigue()
		{
			method_8("DoFinishFatigue");
		}

		public void OnFatigueDamageFinished(Spell spell, object userData)
		{
			method_8("OnFatigueDamageFinished", spell, userData);
		}

		public void OnFatigueDeathSpellFinished(Spell spell, SpellStateType prevStateType, object userData)
		{
			method_8("OnFatigueDeathSpellFinished", spell, prevStateType, userData);
		}
	}
}
